Applications and services of all types often undergo usability testing prior to release and in some cases after the release of the application or service. Usability testing measures the usability and/or utility of a system or device. For example, a usability test may measure data points that indicate how easy an application is to use, how often a user makes mistakes, and how well the application works for its intended purpose, among other things. Developers of an application or service may engage in usability testing in order to improve the design of the application or service.
Once an application is installed or a service is deployed for use on a device, usability data associated with the application may be delivered to the application developer, service provider, or another entity. For example, a software product on a desktop computer may track and store a record of user activity associated with the software, such as how often the software is loaded, whether certain software features are discovered, how often a user selects “cancel,” how many documents are edited, and other user activities. Periodically, the software may contact a server of the software product manufacturer and deliver the usability data. The delivered usability data may be analyzed by the manufacturer, and the software product may be further refined.
Delivery of such usability data after an application is installed or a service is deployed is well suited for desktop computers, which generally have abundant network connectivity and storage, and which utilize standardized communications protocols and software libraries. However, portable applications and services developed for mobile phones and other mobile devices may be abstracted from the device platform and may not have access to the network capabilities of the phone. Accordingly, although usability testing of an application or service may be made prior to release of the application or service, once installed or deployed on mobile phones or other mobile devices, the developer of the application or service may have limited or no means to receive usability data. Delivery of usability data and other application or service data may be feasible only for features that are native to the mobile device platform. Delivery of such data is generally unavailable for platform-independent applications and services.